@微光
2年前 提问
1个回答

分布式系统相较于单块系统而言有哪些方面不足

帅末
2年前

分布式系统相较于单块系统而言有以下方面不足:

  • 网络传输的三态性:构建分布式系统依赖网络通信,而网络通信表现为一个复杂且不可控的过程。相比于单机系统中函数式调用的失败或者成功,网络通信会出现“三态”的概念,即成功、失败与超时。由于网络原因,消息没有成功发送到接收方,而是在发送过程就发生了丢失现象;或者接收方处理后,响应给发送方的过程中发生消息丢失现象。这些问题都会增加通信的代价。如何使通信的代价降到用户可以忍耐的层次是分布式系统设计的重要目标。

  • 异构性:相较单块系统,分布式系统由于基于不同的网络、不同的操作系统、不同的软件实现技术体系,必须要考虑一种通用的服务集成和交互方式来屏蔽异构系统之间的差异。异构系统之间的不同处理方式会对系统设计和开发带来难度和挑战。

  • 负载均衡:在集中式系统中,各部件的任务明确。由于分布式系统是多机协同工作的系统,为了提高系统的整体效率和吞吐量,必须考虑最大程度发挥每个节点的作用。负载均衡是保证系统运行效率的关键技术。

  • 数据一致性:在分布式系统中,数据被分散或者复制到不同的机器上,如何保证各台主机之间的数据一致性将成为一个难点。因为网络的异常会导致分布式系统中只有部分节点能够正常通信,从而形成了网络分区(Network Partition)。

  • 服务的可用性:分布式系统中的任何服务器都有可能出现故障,且各种故障不尽相同。而运行在服务器上的服务也可能出现各种异常情况,服务之间出现故障的时机也会相互独立。通常,分布式系统要设计成允许出现部分故障而不影响整个系统的正常可用。